/**
 * Copyright 2016-2017 TVI Go Easy.
 * Created on 2017/4/18 19:29
 */
package org.mechanic.fund.service.product;

import org.mechanic.fund.domain.product.Product;

import java.util.List;

/**
 * 产品信息服务接口
 *
 * @author mechanic
 * @version 0.0.1
 */
public interface IProductService {
    /**
     * 返回模糊匹配产品名称、产品代码和完全匹配产品风格类型的产品信息列表
     * @param name 名称
     * @param code 产品代码
     * @param styleId 产品风格类型主键编号
     * @return 产品信息列表
     */
    List<Product> getProductList(String name, String code, String styleId);

    /**
     * 返回匹配指定主键编号的对象
     *
     * @param id 主键编号
     * @return 对象实体
     */
    public Product getById(String id);

    /**
     * 保存。 主键为空则create，不为空则update。
     *
     * @param products 被保存的对象
     */
    void save(List<Product> products, String operationUserId);

    /**
     * 删除匹配主键ID的对象
     *
     * @param id 主键ID
     */
    void delete(String id);
}
